Page({

    /**
     * 页面的初始数据
     */
    data: {
        id:"",
        detailData: {},
        showMore: false,
        beginStatus: "", //开始/进行中/结束
        leftTime: "", //倒计时时间
        countDownTimer: null, //倒计时定时器
        ts: 0, //倒计时时间差
    },

    /**
     * 生命周期函数--监听页面加载
     */
    async onLoad(options) {
        wx.showLoading({
            title: '加载中',
            mask: true
        })
        console.log("重新执行onload")
        this.setData({
            id: options.id,
            showMore: false
        })
        await this.getInitData();
        wx.hideLoading()
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {
        clearInterval(this.data.countDownTimer);
        this.setData({countDownTimer: null});
    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {
        console.log("下拉下拉")
        this.getInitData();
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {
        
    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    },
    /**
     * 获取初始化数据
     */
    getInitData(){
        return new Promise((resolve)=>{
            getApp().network.GET({
                url:"/new/bid/detail",
                params:{
                    bid_id:this.data.id
                },
                success: async (res)=>{
                    let tempData = res.data.data;
                    var nowTime = await getApp().getServeTime();
                    //判断是否结束
                    if(nowTime < tempData.start_time){
                        this.setData({
                            beginStatus:"距离开始：",
                            ts: tempData.start_time - nowTime + 1
                        })
                        this.countDownFun();
                    }else if(nowTime >= tempData.start_time && nowTime< tempData.dynamic_end_time){
                        this.setData({
                            beginStatus:"距离结束：",
                            ts: tempData.dynamic_end_time - nowTime + 1
                        })
                        this.countDownFun();
                    }else if(nowTime >= tempData.dynamic_end_time){
                        this.setData({beginStatus:"已结束"})
                    }
                    //处理时间格式
                    tempData.start_time = this.formatTime(tempData.start_time)
                    tempData.end_time = this.formatTime(tempData.end_time)
                    tempData.dynamic_end_time = this.formatTime(tempData.dynamic_end_time)
                    tempData.ware_start_time = tempData.ware_start_time.split("-").splice(1).join("-")
                    tempData.ware_end_time = tempData.ware_end_time.split("-").splice(1).join("-")
                    this.setData({
                        detailData: tempData
                    })
                    wx.stopPullDownRefresh()
                    resolve()
                },
                fail: (err)=>{
                    console.log(err)
                }
            })
        })
    },
    /**
     * 格式化时间戳为09-02 10：00：00格式
     */
    formatTime(num){
        var date = new Date((num+"000"-0) + 8*60*60*1000);
        // var YY = date.getFullYear();
        var MM = (date.getMonth()+1)<10 ? "0"+(date.getMonth()+1) : date.getMonth()+1;
        var DD = date.getDate()<10 ? "0"+date.getDate() : date.getDate();
        var hh = date.getHours()<10 ? "0"+date.getHours() : date.getHours();
        var mm = date.getMinutes()<10 ? "0"+date.getMinutes() : date.getMinutes();
        var ss = date.getSeconds()<10 ? "0"+date.getSeconds() : date.getSeconds();
        return MM+"-"+DD+" "+hh+":"+mm+":"+ss
    },
    /**
     * 倒计时定时器
     */
    counter(){
        this.setData({
            ts: this.data.ts -1
        })
        var dd = parseInt(this.data.ts  / 60 / 60 / 24, 10);//计算剩余的天数
        var hh = parseInt(this.data.ts  / 60 / 60 % 24, 10);//计算剩余的小时数
        var mm = parseInt(this.data.ts  / 60 % 60, 10);//计算剩余的分钟数
        var ss = parseInt(this.data.ts  % 60, 10);//计算剩余的秒数
        this.setData({
            leftTime: dd+"天"+hh+"时"+mm+"分"+ss+"秒"
        })
        //倒计时为零刷新页面  
        if(this.data.ts<=0){
            this.getInitData();
        }
        return this.counter;
    },
    /**
     * 倒计时函数
     */
    countDownFun(){
        clearInterval(this.data.countDownTimer);
        this.setData({countDownTimer: null});
        this.setData({
            countDownTimer: setInterval(this.counter(),1000)
        })
    },
    /**
     * 查看更多
     */
    seeMore(){
        this.setData({
            showMore: !this.data.showMore
        })
    }
})